package com.zs.zcerp.remark.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zs.zcerp.remark.entity.RemarkUser;
import com.zs.zcerp.remark.entity.TgPpsM;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * (TgPpsM)表数据库访问层
 *
 * @author makejava
 * @since 2021-04-15 07:58:42
 */
public interface TgPpsMMapper extends BaseMapper<TgPpsM> {

    /**
     * 查询当前用户已评分或未评分的系统列表
     * @param tabId 页面选项卡id, 1表示未评分, 2表示已评分
     * @param scoreUser 当前操作的用户
     * @param start 分页开始位置的行数
     * @param end 分页结束位置的行数
     * @return 返回系统列表
     */
    List<TgPpsM> queryMarked(Integer tabId, String scoreUser, int start, int end);

    /**
     * 查询当前用户已评分或未评分的系统数量
     * @param tabId 页面选项卡id, 1表示未评分, 2表示已评分
     * @param scoreUser 当前操作的用户
     * @return 返回系统数量
     */
    int countQueryMarked(Integer tabId, String scoreUser);

    /**
     * 根据系统编号查询系统信息
     * @param ppsNo 系统编号
     * @return 系统对象
     */
    TgPpsM queryByPpsNo(String ppsNo);

    <T> IPage<TgPpsM> findSystemListPage(Page<T> page, @Param("remarkUser") RemarkUser remarkUser);

    long countSystemList(@Param("remarkUser") RemarkUser remarkUser);

    IPage<TgPpsM> listProposalPage(Page<TgPpsM> page, @Param("remarkUser")RemarkUser remarkUser);

    long countProposalList(@Param("remarkUser") RemarkUser remarkUser);

    String getPPSNO(@Param("orgId") Integer orgId);
}